1. Technical Field
The invention relates to input and output of data to and from main storage for a data processing system, and more particularly relates to a system and method of dynamic allocation of subchannels to input/output (I/O) peripheral devices.
2. Description of the Related Art
Input/output peripheral devices include any device available to a computer as an external source of data, as an external destination for data, or both. For example, computer systems use tape drives and disk drives for mass storage of data. Such devices operate as input/output devices. A communications link used for formatting data for transmission over telephone lines is another example of an input/output device. User keyboards and video display terminals are input and output devices, respectively. Generally any place data can reside, excluding computer main storage (directly addressable memory), computer cache, interface buffers, or central processing unit registers, can serve as an input/output device.
An input operation is the transfer of data from an input/output device into the computer system. An output operation is a transfer of data from the computer system to an input/output device. In the architecture of main frame computer systems sold by International Business Machines Corporation, input or output operations are between main storage and the input/output device. The architecture includes a channel subsystem to direct the flow of data between input/output devices and main storage. Channel subsystems are intended to relieve computer central processing units (CPUs) of the task of communicating directly with input/output devices and to permit data processing to continue concurrently with input and output operations. The channel subsystem is connected to peripheral devices along one or more channel paths, each. Channel paths are identified to the computer and to control units for peripheral device to management of the flow of data. The channel subsystem provides for testing for channel path availability, channel path selection and initiation of input and output operations with a given peripheral device.
Within the channel subsystem are a plurality of subchannels, each of which provides the facility for supporting a single input/output operation. The subchannel provides a control data structure in which state information about operations started with respect to a device are maintained. In the prior art, a subchannel was dedicated to an input/output device, represented by a device address maintained in the subchannel and used to select the particular device on a channel path. Where so-called multiple exposure devices were used, a plurality of subchannels could be dedicated to the device. In all cases the plurality consisted of a fixed number of subchannels per device, each containing a unique device address used to select the device. All devices on a controller had the same number of subchannels. An example of a multiple exposure device is a disk drive having a device controller such as an IBM 3880 Model 21 controller which provides a storage device cache.
The IBM 3880 controller is a control unit used to handle connections between members of a group of magnetic disk units and computers requesting such connection. The IBM 3880 Model 21 type controller, which is available from IBM Corporation, can handle up to eight channels from host computers and up to eight magnetic storage units. Within the controller are two storage directors. Each storage director may be connected to up to four incoming channels from host computers, for a total of eight channels for the controller as a whole. Channels are physical links between the controller and the host computers. Usually, a host computer has two or four channels, half being physically connected to the one multipath storage director and the other half being connected to the other multipath storage director.
Requests for records (represented as addresses) directed to an input/output device under control of an IBM 3880 controller may be concurrent where one record is both in cache and on the device and the second record requested is only on a device. A record in storage device cache can be retrieved far more quickly than can a record on a disk or tape. The controller includes a processor for determining that the request for the record is stored on cache and therefore can be responded to more quickly than the request for the record only available on disk, and for handling the requests in that order (or even simultaneously since the request for a record in cache may well be completed before data is available from the record only on disk or tape). The ability of the controller to handle concurrent requests to an input/output device makes the device a multiple exposure device. A device may also become a multiple exposure device by having a plurality of volumes. Consider a tape drive library having one drive but a plurality of available tape cassettes which are automatically retrievable. Upon receipt of a plurality of requests one cassette may be more readily mounted than another, or may in fact already be mounted. One subchannel is required for each request applied to an input/output device.
In contrast, an example of a device without multiple exposures is a disk drive having a device controller such as an IBM 3990 controller which provides a storage device cache.
The IBM 3990 controller is a storage control unit used to handle connections between members of a group of magnetic disk units and computers requesting such connection. The IBM 3990 Model 3 type controller, which is available from IBM Corporation, can handle up to sixteen channels from host computers and up to sixty-four magnetic storage units. Within the controller are two multipath storage directors and four storage paths, two of which are associated with each multipath storage director. Each multipath storage director may be connected to up to eight incoming channels from host computers, for a total of sixteen channels for the controller as a whole. Each multipath storage director is connected to two storage paths, thus functioning as an 8.times.2 switch. Channels are physical links between the controller and the host computers. Usually, a host computer has two or four channels, half being physically connected to the one multipath storage director and the other half being connected to the other multipath storage director.
With a non-multiple exposure device, requests to a device can only be performed serially, since there is only a single subchannel for the device. Hence, requests for data already present in the cache must wait if a request for data only available on disk has already been started.
In the following detailed description, many details of the IBM 3990 controller are discussed as an example of an environment in which the present invention maybe advantageously employed. However, many of the unique details of the IBM 3990 controller are not required to practice the invention nor is use of the invention exclusively with such a controller to be inferred.